<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script>
//			1.对象原型是什么:对象原型是一个属性,每一个对象都会有一个属性叫_proto_对象原型属性
//			2.有什么作用:通过构造函数创建出来的对象中的_proto_对象原型属性指向z构造函数中的prototype原型对象,所以我们通过构造函数创建出来的对象才能使用原型对象中的方法
//			补充一个特例，我们知道原型对象是构造函数中的一个对象，但是它里面也有一个_proto_对象原型，但是原型对象中的对象原型统一指向Object.prototype，而Object.prototype中的_proto_中指向为null，所以说此时已经达到最终了
			function star (name,age){
				this.uname=name;
				this.uage=age;
				this.sing=function(){
				console.log("唱歌");
				}
				
			}
			//我们在原型对象中添加两个方法，其中 sing（）方法构造函数中也定义了
			star.prototype.sing=function(){
				console.log("我爱唱歌")
			}
			star.prototype.eat=function(){
				console.log("吃")
			}
			var ldh =new star("刘德华",18);
			ldh.sing();
			ldh.eat();
			//我们如果在构造函数和prototype原型对象中添加同一个方法那么会对象调用时会优先查找构造函数中的方法。
			//由于我们对象中的_proto_属性指向构造函数的的原型对象所以如果构造函数中也找不到该方法则可以去原型对象中找。
			
		</script>
	</body>
</html>
